Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] weekly 퍼블리싱 #56

Merged
merged 23 commits into from
Jul 9, 2024
Merged

[FEAT] weekly 퍼블리싱 #56

merged 23 commits into from
Jul 9, 2024

Conversation

seong-hui
Copy link
Member

@seong-hui seong-hui commented Jul 8, 2024

작업 내용 🧑‍💻

  • fullcalendar 라이브러리 커스텀을 진행하였습니다.

  • 캘린더 커스텀 스타일이 길어져서 따로 style.ts 파일로 분리하였습니다.

  • 캘린더를 big, small로 2가지 크기를 props로 받을 수 있게 만들었습니다

  • DayHeaderContent 는 일간, 월간, 주간을 클릭할 때마다 일간에서는 <날짜 요일>, 주간에서는 <요일 날짜>, 월간에서는 요일만 처럼 다 다르게 헤더에 표시되고 있어서 이를 다 다르게 렌더링하기 위해서 추가했습니다. 추가적으로 주간에서 오늘 날짜일 경우 헤더의 색상을 파란색으로 표시하고자 하셔서 이 부분도 추가하였습니다.

  • FullCalendarBox는 FullCalendar라이브러리를 불러와서 옵션을 적용한 부분 입니다.

  • FullCalendarStyle은 커스텀 스타일이 너무 많아서 스타일을 따로 분리했습니다. 각 커스텀에 대한 설명은 주석으로 달아놓았습니다.

  • SlotLabelContent는 일간 주간에 나오는 12 AM 과 같은 시간 형식을 만들기 위해 사용하였습니다.

  • 켈린더에 사용하지만 theme에 없는 색상이 있어서 일단 추가는 해놨는데 디자인 파트에게 물어보도록 할게요!

알게된 점 🚀

라이브러리 커스텀 너무 힘들었다.. 흑

리뷰 요구사항 💬

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

  • 라이브러리 커스텀을 진행하다보니 직접 만든 컴포넌트처럼 디자인의 요구 사항과 모두 같지 않을 수 있습니다. 약간의 간격이라던가 스크롤의 두께 등등, 그래도 이건 수정했으면 좋겠다는 부분 말씀해주세요!

관련 이슈

close #22

스크린샷 (선택)

Screen.Recording.2024-07-08.at.5.22.15.PM.mov
image

Copy link
Contributor

@Kjiw0n Kjiw0n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@/components/common/fullCalendar 내의 파일들을 간단하게 설명 부탁드려도 될까요??!

Copy link
Member

@wrryu09 wrryu09 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

너무너무너무 고생많으셨습니다!! 라이브러리 커스텀이라 그런지 확실히 어려운 부분들이 많네요 ^_ㅜ


const WeekDay = styled.div<{ isToday: boolean }>`
${({ theme }) => theme.fontTheme.CAPTION_02};
color: ${(props) => (props.isToday ? props.theme.palette.BLUE_DISABLED : props.theme.palette.GREY_04)};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
color: ${(props) => (props.isToday ? props.theme.palette.BLUE_DISABLED : props.theme.palette.GREY_04)};
color: ${({ isToday, theme }) => (isToday ? theme.palette.BLUE_DISABLED : theme.palette.GREY_04)};

여기 일케 더 간결하게 쓸 수 있을 것 같습니다!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 부분 수정하였습니다 감사합니다!

Comment on lines +151 to +153
:root {
--fc-highlight-color: #dfe9ff;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

얘는 무슨 역할인가요?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

시간을 드래그 할 때 생기는 배경색입니다! 지정을 새로 해주니 원하는 색으로 잘 변경되어서 이렇게 했는데 더 좋은 방법이 있다면 변경하겠습니다!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요것도 띰 적용할 수 있을 것 같아요! blue2네용 ㅎ.ㅎ

Comment on lines 30 to 44
const customDayCellContent = (info: DayCellContentArg) => {
const number = document.createElement('a');
number.classList.add('fc-daygrid-day-number');
number.innerHTML = info.dayNumberText.replace('일', '');

if (info.view.type === 'dayGridMonth') {
return {
html: number.outerHTML,
};
}

return {
domNodes: [],
};
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 코드는 어떤 일을 하나요 ??

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

월간 달력에서 날짜형식이 7일로 나오는데 이 부분을 일을 지우고 숫자 7만 나오게 하기 위해서 사용한 코드입니다!

Copy link
Contributor

@Kjiw0n Kjiw0n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

세상 복잡한 캘린더 뷰 라이브러리 통해서 커스텀하느라 고생 진짜 많으셨습니다..!! 👍 👍
ci 에러나는 부분이 있어서, develop 통해서 최신화 해주시고 머지하면 될 것 같습니다!!
진짜 수고많아써요~~~~~~~ 최고다최고

Comment on lines +71 to +66
slotDuration="00:30:00"
editable
selectable
nowIndicator
dayMaxEvents
events={[
{ title: 'Meeting', start: '2024-07-06T10:00:00', end: '2024-07-06T12:00:00' },
{ title: 'Lunch', start: '2024-07-07T12:00:00', end: '2024-07-07T12:45:00' },
{ title: 'Lunch', start: '2024-07-08T12:00:00', end: '2024-07-08T12:30:00' },
{ title: 'All Day Event', start: '2024-07-08T10:00:00', end: '2024-07-08T12:00:00', allDay: true },
]}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

사용할때는 이 부분은 props로 받아서 처리하는건가요???

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네넹 이 부분은 Props로 받아서 처리하면 됩니당!

{ title: 'Lunch', start: '2024-07-08T12:00:00', end: '2024-07-08T12:30:00' },
{ title: 'All Day Event', start: '2024-07-08T10:00:00', end: '2024-07-08T12:00:00', allDay: true },
]}
eventColor="#dfe9ff"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

theme 적용 가능할까요,,!!

Copy link
Member

@jeeminyi jeeminyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

진짜 레전드 고생 많으셨습니다,, 성희 드디어 캘린더 감옥에서 탈🚀출🧡
스타일 속성에 주석 잘 달아주셔서 보면서 이해하기 편했어요!
왕초보인 저는 조금 더 뜯어보면서 이해하겠습니다.. 우선 어푸 하겠습니다! 고생 너무너무 많으셨어요

@seong-hui seong-hui merged commit 85c6378 into develop Jul 9, 2024
2 checks passed
@seong-hui seong-hui deleted the feat/#22/weekly-view branch July 9, 2024 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FEAT] weekly 퍼블리싱
4 participants